package com.helu.lubike.utils;

import android.content.Context;
import android.widget.Toast;

import java.text.DecimalFormat;

/**
 * @author helu  17-2-7 下午3:07
 * @description
 */

public class Utils {
    private static Toast toast;

    private Utils() {
    }

    public static void showToast(Context context, String content) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
        }

        toast.setText(content);

        toast.show();
    }

    public static String format2xNum(double num) {
        DecimalFormat df = new DecimalFormat("#.##");
        return df.format(num);
    }

    /**
     * 计算公式：
     * <p>
     * d = 10^((abs(RSSI) - A) / (10 * n))
     * <p>
     * 其中：
     * <p>
     * d - 计算所得距离
     * <p>
     * RSSI - 接收信号强度（负值）
     * <p>
     * A - 发射端和接收端相隔1米时的信号强度
     * <p>
     * n - 环境衰减因子
     * <p>
     * 传入RSSI值，返回距离（单位：米）。其中，A参数赋了59，n赋了2.0。
     *
     * @param rssi
     * @return
     */
    public static String calcDistanceForRSSI(float rssi) {
        float iRssi = Math.abs(rssi);
        float power = (iRssi - 59) / (10 * 2.0f);
        double result = Math.pow(10, power);

        return format2xNum(result);
    }
}
